﻿

Public Class EjemploDEfunciones
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        'If Not Page.IsPostBack Then


        '    MI_persona.PersLOgueada.SetaDatosXDn("27061349")
        '    Response.Redirect("vacunaciones.aspx")

        'End If


        Dim param(0) As ADODB.Parameter
        Dim rs As ADODB.Recordset
        Dim dt As New DataTable
        'Dim i As Integer
        If Not Page.IsPostBack Then
            FG.culturaPaginas()

            rs = Datos.TraerTodos("traerVacunas", Nothing, "")

            dt = FG.cargaUnDataTable(rs)

            gvVacunas.DataSource = dt
            gvVacunas.DataBind()
        End If

    End Sub

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click

        Dim param(0) As ADODB.Parameter
        Dim Resultado As Boolean




        If TextBox1.Text = "" Then
            MsgBox("FALTA DATO, ponganse las pilas!", MsgBoxStyle.Information, "AVISO")
            Exit Sub
        End If

        'aca le paso paso el parametro ,, es un bloque por cada dato q tenga q viajar a la base

        param(0) = New ADODB.Parameter
        param(0).Name = "@parametro1"  '<--nombre del parametro q esta en la base,, no es excencial es para q la funcion error sepa de que parametro hablamos 
        param(0).Type = ADODB.DataTypeEnum.adVarChar '<--tipo de dato 
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput '<---eesto no se toca es siempre igual
        param(0).Value = TextBox1.Text   ' <--el valor que le pasamos a la base
        param(0).Size = 255 'Si el dato es string ,, lleva longitud , los datos numerico no hacen falta ,,



        ''''''''''LLAMAMOS A LA FUNCION YYY FIJENSE QUE NO LE PASO EL GUION "_a" 
        Resultado = Datos.Agregar("agregarAlergia", param, "aCA SE PONE DESDE QUE MODULO ES LLAMADA LA FUNCION ")


        '////////////////////////////////////////////////////////////////////////////////////////////////////////
        '''''importante acordase de en el sp ,, poner el set NOCOUNT off  ( POR DEFECTO ESTA SIEMPRE EN oN) 
        '////////////////////////////////////////////////////////////////////

        ''ACA EVALUAMOS EL RESULTADO!

        If Resultado = True Then
            MsgBox(" cargo joya ", MsgBoxStyle.Information, "aviso")
        Else
            MsgBox("cargo para la mierda", MsgBoxStyle.Critical, "error")
        End If



    End Sub

    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
        Dim param(0) As ADODB.Parameter
        Dim Rs As ADODB.Recordset '<----variable donde se van a cargar los datos que vengan de la base 

        If TextBox1.Text = "" Then
            MsgBox("FALTA DATO, ponganse las pilas!", MsgBoxStyle.Information, "AVISO")
            Exit Sub
        End If


        'hay dos tipo de consultas,,, las que necesitan datos para hacer las busqueda ,, y las que no !
        'aca les paso las que necesitan un dato ,,, y abajo les hago otra que no 



        'aca le paso paso el parametro ,, es un bloque por cada dato q tenga q viajar a la base


        param(0) = New ADODB.Parameter
        param(0).Name = "@parametro1"  '<--nombre del parametro q esta en la base,, no es excencial es para q la funcion error sepa de que parametro hablamos 
        param(0).Type = ADODB.DataTypeEnum.adVarChar '<--tipo de dato 
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput '<---eesto no se toca es siempre igual
        param(0).Value = TextBox1.Text   ' <--el valor que le pasamos a la base
        param(0).Size = 255 'Si el dat




        Rs = Datos.TraerTodos("traeAlergias", param, "Aca va elnombre del modulo de donde llamamos a la funcion")


        If Rs.RecordCount > 0 Then
            Rs.MoveFirst()

            MsgBox("el valor que encontro en la base es " & Rs.Fields(0).Value.ToString)
        Else
            MsgBox("no se encontro ningun valor q conicida con lo del texto", MsgBoxStyle.Information, "")

        End If


        '--------------------Esta es la parte donde a la funcion no le paso nada,,,"donde va el paramtro (param) pongo "Nothing"
        ' NOTA EL RS... puede contener una tabla entera,, para recorrer los campos se usa la propiedad Field(campo)

        MsgBox("aca le muestro las parte en que va  a la base sin pasarle ningun parametro", MsgBoxStyle.Information, "")

        Rs = Datos.TraerTodos("TraeTODASLAsAlerGias", Nothing, "Aca va elnombre del modulo de donde llamamos a la funcion")


        If Rs.RecordCount > 0 Then
            For I = 1 To Rs.RecordCount
                ' el field(0) es la columno 0 ,,,,, field (1 ) muestra los datos de la columna 1 

                MsgBox("la funcion encontro este valor" & Rs.Fields(0).Value.ToString, MsgBoxStyle.OkOnly, "DATO")
                Rs.MoveNext()
            Next I

        End If





    End Sub

    Protected Sub Button3_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button3.Click
        Dim Cant As Integer

        '' aca cargamos el combo usando la funcion  (podemos pasarle un paramtro o no"
        ''esta funcion trae la cantida de item q se cargaron en el combo

        Cant = FG.CargaCombo("TraeTODASLAsAlerGias", DropDownList1)


    End Sub

    Protected Sub Button4_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button4.Click
        Dim alergia As String
        Dim Nuevaalergia As String
        Dim resultado As Boolean
        Dim param(1) As ADODB.Parameter


        MsgBox("mensaje", , "Titulo")

        alergia = InputBox("ESCriba la alergia a modificar", "INGRESE ALERGIA", "", , )
        If alergia = "" Then
            MsgBox("no escribiste nada ", MsgBoxStyle.Information, "V")
            Exit Sub

        End If


        Nuevaalergia = InputBox("ESCriba  el nombre nuevo de alergia ", "INGRESE ALERGIA", "", , )


        If Nuevaalergia = "" Then
            MsgBox("no escribiste nada ", MsgBoxStyle.Information, "V")
            Exit Sub

        End If




        '''''''aca valos con los parametros ,, son dos por que son dos valores

        param(0) = New ADODB.Parameter
        param(0).Name = "@parametro1"  '<--nombre del parametro q esta en la base,, no es excencial es para q la funcion error sepa de que parametro hablamos 
        param(0).Type = ADODB.DataTypeEnum.adVarChar '<--tipo de dato 
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput '<---eesto no se toca es siempre igual
        param(0).Value = alergia   ' <--el valor que le pasamos a la base
        param(0).Size = 255 'Si el dat


        param(1) = New ADODB.Parameter
        param(1).Name = "@parametro1"  '<--nombre del parametro q esta en la base,, no es excencial es para q la funcion error sepa de que parametro hablamos 
        param(1).Type = ADODB.DataTypeEnum.adVarChar '<--tipo de dato 
        param(1).Direction = ADODB.ParameterDirectionEnum.adParamInput '<---eesto no se toca es siempre igual
        param(1).Value = Nuevaalergia   ' <--el valor que le pasamos a la base
        param(1).Size = 255 'Si el dat




        'acordarse del cambiar el set nocount en off en la basee''

        resultado = Modificar("ModificaUnaAlergia", param, "Button4_Click")



        ''reviso el resultado
        If resultado = True Then
            MsgBox(" SE MODIFICO ", MsgBoxStyle.Information, "")
        Else
            MsgBox("andubo para el carajo", MsgBoxStyle.Critical, "ERROR")
        End If



    End Sub





    Protected Sub gvVacunas_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles gvVacunas.SelectedIndexChanged
        mdlpopup.Show()
    End Sub


    Private Sub btnEnviarMail_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnEnviarMail.Click
        Dim destinatario As String, asunto As String, cuerpomensaje As String

        destinatario = "yfrangaston@gmail.com"
        asunto = "Nuevo usuario"
        cuerpomensaje = "<html><body><b>La contraseña ha sido reseteada</b> <br/> " + _
                                      "Usuario: " + "<br/>Contraseña: " + _
                                      "<br/>Para empezar a usar el sistema SCHC entre a www.schc-ar.com.ar<br/>" + _
                                      "<pre/><b>El equipo de SCHC.<pre/></b></body></html>"

        MuestraCartel(FG.EnviarMail(destinatario, asunto, cuerpomensaje), lblError)

    End Sub
End Class